package com.kobeliu.entity;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;

/**
 * 剑指 45
 *
 * 思路： 其实就是考了个自定义比较器 ，还有快排的方法，晚上下班前补
 *
 * 输入一个非负整数数组，把数组里所有数字拼接起来排成一个数，打印能拼接出的所有数字中最小的一个。
 *
 *
 *
 * 示例 1:
 *
 * 输入: [10,2]
 * 输出: "102"
 *
 * 示例 2:
 *
 * 输入: [3,30,34,5,9]
 * 输出: "3033459"
 */

public class Demo_54_sword_45 {

    public static void main(String[] args) {

        int[] nums = {3,30,34,5,9};
        System.out.println(minNumber(nums));
    }

    public static String minNumber(int[] nums) {
//        String s = "";
        List<String> strs = new ArrayList<>();



        for (int i = 0; i < nums.length; i++) {
            strs.add(Integer.toString(nums[i]));
        }
        strs.sort((o1, o2) -> (o1+o2).compareTo(o2+o1));


        return String.join("",strs);
    }


}
